package ec.edu.ucacue.siop.modelo.recurso.talentoHumano;

import java.io.Serializable;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import ec.edu.ucacue.siop.modelo.administracion.cargo.CargoEmpresa;
import ec.edu.ucacue.siop.modelo.administracion.personal.Persona;

/**
 * 
 * @author edgar
 * Informacion sobre el personal
 */
@Entity
@Table(name="personal_operario")
public class PersonalOperario implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = -4255188791901014889L;
	private long id;
	private String nombres;
	private String apellidos;
	private Persona persona;
	private List<CargoEmpresa> listaCargoEmpresa;
	private List<PerfilRendimiento> listaPerfil;
	private List<PersonalOperarioAsignacion> listaAsignacion;
	
	@Id
	@GeneratedValue
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	@Column(length=64)
	public String getNombres() {
		return nombres;
	}
	public void setNombres(String nombres) {
		this.nombres = nombres;
	}
	@Column(length=64)
	public String getApellidos() {
		return apellidos;
	}
	public void setApellidos(String apellidos) {
		this.apellidos = apellidos;
	}
	@ManyToOne
	public Persona getPersona() {
		return persona;
	}
	public void setPersona(Persona persona) {
		this.persona = persona;
	}
	@OneToMany(mappedBy="persona", cascade=CascadeType.ALL)
	public List<CargoEmpresa> getListaCargoEmpresa() {
		return listaCargoEmpresa;
	}
	public void setListaCargoEmpresa(List<CargoEmpresa> listaCargoEmpresa) {
		this.listaCargoEmpresa = listaCargoEmpresa;
	}
	@OneToMany(mappedBy="persona", cascade=CascadeType.ALL)
	public List<PerfilRendimiento> getListaPerfil() {
		return listaPerfil;
	}
	public void setListaPerfil(List<PerfilRendimiento> listaPerfil) {
		this.listaPerfil = listaPerfil;
	}
	@OneToMany(mappedBy="persona", cascade=CascadeType.ALL)
	public List<PersonalOperarioAsignacion> getListaAsignacion() {
		return listaAsignacion;
	}
	public void setListaAsignacion(List<PersonalOperarioAsignacion> listaAsignacion) {
		this.listaAsignacion = listaAsignacion;
	}
}
